In recent years, in the manufacturing of modern motor vehicles and machine construction, in particular in both the machine tool sector and automation, there has been a drastic increase in the networking of control units, sensors, and actuators with the aid of a network or a communication system made up of a communication connection, in particular a bus, and corresponding communication modules. In this context, synergistic effects may be achieved by distributing functions to a plurality of users, in particular control devices. These are known as distributed systems. Such distributed systems or networks are thus made up of the users and the bus system connecting these users, or multiple connecting bus systems. Communication between different stations and users thus takes place more and more via such a communication system, bus system, or network, via which the data to be transmitted are transmitted in messages. This communication traffic on the bus system, access and receiving mechanisms, and error handling are regulated via a corresponding protocol, the name of the respective protocol frequently being used as a synonym for the network or bus system itself, as done here.
The CAN interface (Controller Area Network) is established as a protocol in the automotive sector, for example. This is an event-driven protocol, i.e., protocol activities such as sending a message are initiated by events that have their origin outside of the communications system. Unique access to the communication system or bus system is triggered via priority-based bit arbitration. A prerequisite for this is that a priority is assigned to the data to be transmitted and thus to every message. The CAN protocol is very flexible. It is thus readily possible to add additional users and messages as long as there are still free priorities (message identifiers). The compilation of all messages that are to be sent in the network together with priorities and their transmitting and receiving users or the corresponding communication modules are stored in a list known as the communication matrix.
An alternative approach to event-triggered, spontaneous communication is the purely time-triggered approach. All communication activities on the bus are strictly periodic. Protocol activities such as the transmission of a message are triggered only by the passage of a time applicable to the entire bus system. Access to this medium is based on the allocation of time ranges in which a transmitter has an exclusive transmission right. As a rule, the sequence of messages is to be set already before start-up in this instance. Thus, a schedule is drawn up which meets the requirements of the messages with regard to repetition rate, redundancy, deadlines, etc. This is known as a bus schedule. TTP/C is such a bus system, for example.
A combination of the advantages of both known bus types occurs in the design approach of the so-called TTCAN (Time-Triggered Controller Area Network). This meets the requirements outlined above for time-triggered communication as well as the requirements for a certain degree of flexibility. TTCAN meets these requirements by structuring the communication cycle in so-called exclusive time windows for periodic messages of certain communication users, and in so-called arbitrating time windows for spontaneous messages of a plurality of communication users. TTCAN is essentially based on a time-triggered, periodic communication, which is clocked by a user or communication module, which provides the operating time and is known as the time master, with the help of a time reference message.
Another possibility for connecting different transmission types is the FlexRay protocol, which describes a fast, deterministic and fault-tolerant bus system in particular for use in a motor vehicle. The FlexRay protocol operates according to the method of Time Division Multiple Access (TDMA), in which the users and the messages to be transmitted are respectively assigned fixed time slots in which they have exclusive access to the communication connection, the bus. In this context, the time slots repeat in a fixed cycle, so that the instant at which a message is transmitted via the bus can be predicted exactly, and the bus access takes place deterministically. To optimally utilize the bandwidth for the message transmission on the bus system, the cycle is subdivided into a static and a dynamic portion. The fixed time slots are in the static portion at the beginning of a bus cycle.
In the dynamic part, the time slots are assigned dynamically. Therein, the exclusive bus access is then permitted for only a brief time in each instance. If no access occurs, access is enabled for the next user. This time span in which the system waits for access by the first user is called a minislot.
As was just illustrated, there is a multitude of different transmission technologies and thus types of bus systems or networks. Frequently, a plurality of bus systems of the same kind or of different kinds have to be connected to one another. A bus interface unit, a so-called gateway, is used for this purpose. A gateway is thus an interface between different buses, which may be of the same or different types, the gateway relaying messages from one bus to one or more other buses. Known gateways are made up of a plurality of independent communication modules, messages being exchanged in this context respectively via the processor interface (CPU interface) of the respective user, and the corresponding interface module of the respective communication module. In the process, this CPU interface is highly loaded by this exchange of data in addition to the messages to be transmitted to the user itself which means that, together with the transmission structure resulting from this, a relatively low data transmission speed results.
Further, there are integrated communication controllers or communication modules that share one joint message memory, the so-called message memory or message RAM, in order to thus compensate the structural disadvantages. However, because of this, such integrated communication modules are very inflexible with regard to data transmission and in particular are fixed to a specific number of bus connections and most of the time also to the same bus system.
FIG. 1 shows a conventional communication module or communication controller CC for a conventional gateway, as shown in FIG. 2. Communication module CC has an interface for an internal peripheral bus or system bus of the gateway, and an additional interface for an external serial bus. The system bus includes an address bus, a data bus, and a control bus and is used for the internal transmission of data within the gateway. A host CPU having a data memory RAM, and a gateway unit are connected to the system bus in addition to the communication module. The host CPU is used for internal data processing and the gateway unit controls the internal transfer of data from one communication module CC to another communication module CC. Communication modules CC communicate with the host CPU and the gateway unit in accordance with the master/slave principle, communication modules constituting slave units and the host CPU and the gateway unit respectively forming master units.
As can be seen from FIG. 1, the internal interface of communication module CC to the system bus is formed by a two-layer interface, to with by a customer interface and a generic interface. The customer interface connects the system bus to the generic interface, the customer interface being manufacturer-specific and easily exchangeable. The generic interface is able to be connected to a large number of customer-specific system buses via the customer interface. Communication module CC according to the related art and as shown in FIG. 1 also contains buffer memories for temporarily storing data to be transferred. The buffer memories are formed by RAM or data registers, for example. Communication module CC additionally contains a message relaying unit or message handler for relaying between messages from at least one message memory and one communication protocol unit.
The message memory or the message RAM acts as a message memory and temporarily stores the message objects to be transferred as well as configuration and status information data. The message relaying unit takes over the control of the data flow between all buffer memories, the communication protocol unit, and the message buffer. The communication protocol unit (PRT) of conventional communication module CC shown in FIG. 1 implements the communication according to the data transmission protocol used. In this context, communication protocol unit PRT takes over the transformation or conversion between the data format of data packages DP transmitted via the external serial bus and messages MSG used inside the communication module. Messages MSG relayed by the message relaying unit or the message handler are made up of at least one data word DW, the word length or the bit number of data word DW corresponding to the bus width of the gateway data bus provided internally. If the system bus has a 32-bit-wide internal data bus, for example, then data word DW likewise includes 32 bits. A message MSG is able to be made up of a predefined number of data words DW. The memory capacity of a buffer memory corresponds to the data volume of a message that includes a predefined number of data words DW, for example. The arbitration of the data flow is performed by the message relaying unit or the message handler.
The conventional gateway, as shown in FIG. 2, contains a plurality of master units, to with the host CPU and the gateway unit. Since both master units access the data within a communication module CC via the same system bus or periphery bus and via a joint interface, an access conflict may occur. For example, it is possible for different master units to simultaneously want to access the data of one communication module CC via its system bus interface. In this case, one of the master units must wait to access data until the other master unit has completed its data access. This data access may be the writing, but also the reading of data from the buffer memory of communication module CC.